Matthias Clasen [Wed, 6 May 2020 19:24:58 +0000 (19:24 +0000)]
Merge branch 'master-disable-introspection' into 'master'
CI: disable introspection with mingw to avoid flaky builds
See merge request GNOME/gtk!1848
Christoph Reiter [Wed, 6 May 2020 19:19:52 +0000 (21:19 +0200)]
CI: use bash style variable expansion for the mingw cache key
It doesn't understand the powershell syntax which leads to the cache
key being empty which leads to cache restore being skipped
which leads to slow builds not using ccache.
See https://gitlab.com/gitlab-org/gitlab-runner/-/issues/2747
Jakub Steiner [Wed, 6 May 2020 19:22:27 +0000 (19:22 +0000)]
Merge branch 'wip/jimmac/HC-focus' into 'master'
HC: more contrasty focus rings
See merge request GNOME/gtk!1845
Matthias Clasen [Wed, 6 May 2020 19:15:31 +0000 (19:15 +0000)]
Merge branch 'abolish-size-allocate' into 'master'
Abolish size allocate
Closes #2705
See merge request GNOME/gtk!1833
Matthias Clasen [Wed, 6 May 2020 19:08:36 +0000 (15:08 -0400)]
Update CONTRIBUTING.md
Point to discourse, rather than mailing lists.
Based on a suggestion by sujiniku,
https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/1763
Matthias Clasen [Wed, 6 May 2020 19:01:25 +0000 (19:01 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
keymap: Remove leftover code
See merge request GNOME/gtk!1844
Christoph Reiter [Wed, 6 May 2020 18:33:46 +0000 (20:33 +0200)]
CI: disable introspection with mingw to avoid flaky builds
g-i has started to fail and it's not clear why, so disable it for
now to keep the build green.
See https://gitlab.gnome.org/GNOME/gobject-introspection/-/issues/340
Matthias Clasen [Wed, 6 May 2020 18:32:09 +0000 (18:32 +0000)]
Merge branch 'wip/jimmac/dark-seuggested' into 'master'
Adwaita: tone down suggested focus ring for dark
See merge request GNOME/gtk!1843
Matthias Clasen [Wed, 6 May 2020 03:12:20 +0000 (23:12 -0400)]
widget: Drop the ::size-allocate signal
This signal is mainly used for bad things, and we
don't want to emit signals during layout if we can
avoid it.
If you are subclassing, you should either use a
layout manager or override the size_allocate vfunc.
If you are using a GtkDrawingArea or GtkGLArea,
use their ::resize signals to learn about size
changes.
Fixes: #2705
Matthias Clasen [Wed, 6 May 2020 02:11:55 +0000 (22:11 -0400)]
tooltipwindow: Stop using the ::size-allocate signal
Instead of connecting to ::size-allocate, call
gtk_native_set_tooltip and rely on the native
to allocate the tooltip window.
Matthias Clasen [Wed, 6 May 2020 01:19:20 +0000 (21:19 -0400)]
tooltipwindow: Drop some dead code
Matthias Clasen [Wed, 6 May 2020 17:56:27 +0000 (13:56 -0400)]
tooltip: Add private api to allocate the window
Add private gtk_tooltip_maybe_allocate() function
and use it from GtkWindow and GtkPopover.
This will let us stop using the ::size-allocate signal,
without having to redo all the tooltip management first.
That will happen later.
Emmanuele Bassi [Mon, 20 Apr 2020 16:10:40 +0000 (17:10 +0100)]
Explicitly update widget a11y bounds when allocating
The a11y machinery is using signal subscription to get notified of size
changes and notify listeners in turn. This is suboptimal for a couple of
reasons:
- if something connects to the GtkWidget::size-allocate signal we need
to emit it; currently, we have an optimization in place that will
skip the signal emission if there are no handlers, and it would be
nice to go through the fast path
- the accessibility implementation is part of GTK, and should not go
through additional hoops like any out-of-tree API consumer
Matthias Clasen [Tue, 5 May 2020 16:15:36 +0000 (12:15 -0400)]
tests: Stop using ::size-allocate
Matthias Clasen [Tue, 5 May 2020 15:57:49 +0000 (11:57 -0400)]
inspector: Stop using ::size-allocate
This signal is going away. Currently, there is no
other way for the inspector to monitor the allocation.
Matthias Clasen [Tue, 5 May 2020 15:54:47 +0000 (11:54 -0400)]
examples: Use GtkDrawingArea::resize
This signal is a replacement for this (ab)use
of the ::size-allocate signal, which is going away.
Matthias Clasen [Tue, 5 May 2020 15:53:25 +0000 (11:53 -0400)]
gtk-demo: Use GtkDrawingArea::resize
This signal is a replacement for this (ab)use
of ::size-allocate.
Matthias Clasen [Tue, 5 May 2020 15:49:00 +0000 (11:49 -0400)]
drawingarea: Add a ::resize signal
This can be used as a replacement for ::size-allocate
to prepare size-dependent resources, like a backing
surface. It mirrors the GtkGLArea::resize signal.
Matthias Clasen [Tue, 5 May 2020 16:11:05 +0000 (12:11 -0400)]
a11y: Avoid a gratitious use of ::size-allocate
The paned widget has a position property, just
use it.
Matthias Clasen [Tue, 5 May 2020 16:12:15 +0000 (12:12 -0400)]
cellarea: Cosmetics
Remove an occurrence of size-allocate in a comment.
Matthias Clasen [Tue, 5 May 2020 16:10:35 +0000 (12:10 -0400)]
treeview: Cosmetic change
Remove an occurrence of size-allocate in a comment.
Matthias Clasen [Tue, 5 May 2020 16:00:15 +0000 (12:00 -0400)]
window: Remove some outdated info from the docs
Remove references to ::size-allocate and ::configure-event
from the docs.
Matthias Clasen [Wed, 6 May 2020 17:15:45 +0000 (13:15 -0400)]
keymap: Remove leftover code
When I removed the 0-termination for the entries for
each keyval, I remove the code initializing the key,
but accidentally left the code that adds it to the
array, so gdk_keymap_get_cached_entries_for_keyval
returns one extra, uninitialized value at the end
of the array. Stop doing that.
Jakub Steiner [Wed, 6 May 2020 17:28:05 +0000 (19:28 +0200)]
HC: more contrasty focus rings
Matthias Clasen [Wed, 6 May 2020 17:15:45 +0000 (13:15 -0400)]
keymap: Remove leftover code
When I removed the 0-termination for the entries for
each keyval, I remove the code initializing the key,
but accidentally left the code that adds it to the
array, so gdk_keymap_get_cached_entries_for_keyval
returns one extra, uninitialized value at the end
of the array. Stop doing that.
Jakub Steiner [Wed, 6 May 2020 17:02:19 +0000 (19:02 +0200)]
Adwaita: tone down suggested focus ring for dark
Jakub Steiner [Wed, 6 May 2020 16:53:14 +0000 (16:53 +0000)]
Merge branch 'wip/exalm/focus-entries2' into 'master'
Adwaita: Make error/warning entry focus more subtle
See merge request GNOME/gtk!1842
Alexander Mikhaylenko [Wed, 6 May 2020 15:21:56 +0000 (20:21 +0500)]
Adwaita: Make error/warning entry focus more subtle
Add 50% alpha to it like to the main focus color.
Jakub Steiner [Wed, 6 May 2020 15:23:01 +0000 (15:23 +0000)]
Merge branch 'wip/jimmac/suggested-destructive-focus' into 'master'
Adwaita: suggested destrictive button focus
Closes #2704
See merge request GNOME/gtk!1841
Jakub Steiner [Wed, 6 May 2020 14:12:57 +0000 (16:12 +0200)]
Adwaita: suggested destrictive button focus
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2704
Jakub Steiner [Wed, 6 May 2020 13:29:29 +0000 (13:29 +0000)]
Merge branch 'wip/jimmac/global-var' into 'master'
Adwaita: make parser happy wrt global variables
Closes #2703
See merge request GNOME/gtk!1840
Matthias Clasen [Wed, 6 May 2020 12:55:18 +0000 (12:55 +0000)]
Merge branch 'fix-inspector-popover' into 'master'
inspector: Fix css tree popovers
See merge request GNOME/gtk!1838
Jakub Steiner [Wed, 6 May 2020 12:12:44 +0000 (14:12 +0200)]
Adwaita: make parser happy wrt global variables
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2703
Matthias Clasen [Wed, 6 May 2020 03:55:55 +0000 (03:55 +0000)]
Merge branch 'wip/baedert/for-master' into 'master'
Wip/baedert/for master
See merge request GNOME/gtk!1828
Matthias Clasen [Wed, 6 May 2020 03:51:37 +0000 (23:51 -0400)]
inspector: Fix css tree popovers
Adding popovers to a treeview doesn't work. Instead,
attach them to the cssnodetree widget, which is using
a layout manager - popovers work in that case.
Matthias Clasen [Wed, 6 May 2020 00:37:04 +0000 (00:37 +0000)]
Merge branch 'abolish-destroy' into 'master'
Abolish destroy
See merge request GNOME/gtk!1835
Matthias Clasen [Tue, 5 May 2020 20:59:31 +0000 (16:59 -0400)]
widget: Drop the destroy vfunc
We still emit the ::destroy signal, but if you
want a vfunc, use dispose.
Matthias Clasen [Tue, 5 May 2020 20:57:28 +0000 (16:57 -0400)]
gtk-demo: Use dispose instead of destroy
The destroy vfunc is going away.
Matthias Clasen [Tue, 5 May 2020 20:52:02 +0000 (16:52 -0400)]
container: Use dispose instead of destroy
The destroy vfunc is going away.
Matthias Clasen [Tue, 5 May 2020 20:51:43 +0000 (16:51 -0400)]
placesview: Use dispose instead of destroy
The destroy vfunc is going away.
Matthias Clasen [Tue, 5 May 2020 20:51:33 +0000 (16:51 -0400)]
printunixdialog: Use dispose instead of destroy
The destroy vfunc is going away.
Matthias Clasen [Tue, 5 May 2020 20:51:24 +0000 (16:51 -0400)]
window: Use dispose instead of destroy
The destroy vfunc is going away.
Matthias Clasen [Tue, 5 May 2020 20:51:16 +0000 (16:51 -0400)]
treeview: Use dispose instead of destroy
The destroy vfunc is going away.
Matthias Clasen [Tue, 5 May 2020 20:50:59 +0000 (16:50 -0400)]
textview: Use dispose instead of destroy
The destroy vfunc is going away.
Matthias Clasen [Tue, 5 May 2020 20:50:49 +0000 (16:50 -0400)]
statusbar: Use dispose instead of destroy
The destroy vfunc is going away.
Matthias Clasen [Tue, 5 May 2020 20:50:33 +0000 (16:50 -0400)]
notebook: Use dispose instead of destroy
The destroy vfunc is going away.
Matthias Clasen [Tue, 5 May 2020 20:50:21 +0000 (16:50 -0400)]
iconview: Use dispose instead of destroy
The destroy vfunc is going away.
Matthias Clasen [Tue, 5 May 2020 20:50:07 +0000 (16:50 -0400)]
shortcutssection: Use dispose instead of destroy
The destroy vfunc is going away.
Matthias Clasen [Tue, 5 May 2020 20:49:48 +0000 (16:49 -0400)]
radiobutton: Use dispose instead of destroy
The destroy vfunc is going away.
Matthias Clasen [Tue, 5 May 2020 20:49:33 +0000 (16:49 -0400)]
range: Use dispose instead of destroy
The destroy vfunc is going away.
Matthias Clasen [Tue, 5 May 2020 20:49:20 +0000 (16:49 -0400)]
spinbutton: Use dispose instead of destroy
The destroy vfunc is going away.
Matthias Clasen [Tue, 5 May 2020 20:49:08 +0000 (16:49 -0400)]
viewport: Use dispose instead of destroy
The destroy vfunc is going away.
Matthias Clasen [Tue, 5 May 2020 20:48:59 +0000 (16:48 -0400)]
text: Use dispose instead of destroy
The destroy vfunc is going away.
Matthias Clasen [Tue, 5 May 2020 20:48:39 +0000 (16:48 -0400)]
modelbutton: Use dispose instead of destroy
The destroy vfunc is going away.
Matthias Clasen [Tue, 5 May 2020 20:48:23 +0000 (16:48 -0400)]
label: Use dispose instead of destroy
The destroy vfunc is going away.
Matthias Clasen [Tue, 5 May 2020 20:48:11 +0000 (16:48 -0400)]
filechooserbutton: Use dispose instead of destroy
The destroy vfunc is going away.
Matthias Clasen [Tue, 5 May 2020 20:47:36 +0000 (16:47 -0400)]
expander: Use dispose instead of destroy
The destroy vfunc is going away.
Matthias Clasen [Tue, 5 May 2020 20:47:10 +0000 (16:47 -0400)]
combobox: Use dispose instead of destroy
The destroy vfunc is going away.
Matthias Clasen [Tue, 5 May 2020 19:49:30 +0000 (15:49 -0400)]
actionbar: Use dispose instead of destroy
The destroy vfunc is going away.
Matthias Clasen [Tue, 5 May 2020 21:02:25 +0000 (21:02 +0000)]
Merge branch 'misc-cleanups' into 'master'
Misc cleanups
See merge request GNOME/gtk!1832
Matthias Clasen [Tue, 5 May 2020 18:19:00 +0000 (18:19 +0000)]
Merge branch 'wip/exalm/controls-dispose' into 'master'
windowcontrols: Unparent children in dispose rather than finalize
See merge request GNOME/gtk!1831
Matthias Clasen [Tue, 5 May 2020 14:44:50 +0000 (10:44 -0400)]
widget-factory: Use symboli icons in the toolbar
That is the style that is commonly used nowadays, even
in traditional apps.
Matthias Clasen [Tue, 5 May 2020 14:42:13 +0000 (10:42 -0400)]
widget-factory: Remove unused css
We no longer show the various frame styles.
Matthias Clasen [Tue, 5 May 2020 14:37:10 +0000 (10:37 -0400)]
window: Lower the visible focus timeout
Five seconds felt too long for some people in
initial feedback, so lets lower the timeout to
3 seconds.
Matthias Clasen [Tue, 5 May 2020 01:36:00 +0000 (21:36 -0400)]
assistant: Drop the Private struct
Matthias Clasen [Tue, 5 May 2020 00:42:09 +0000 (20:42 -0400)]
placesview: Drop the Private struct
Matthias Clasen [Tue, 5 May 2020 00:09:29 +0000 (20:09 -0400)]
searchbar: Drop the Private struct
Alexander Mikhaylenko [Tue, 5 May 2020 14:43:55 +0000 (19:43 +0500)]
windowcontrols: Unparent children in dispose rather than finalize
Jakub Steiner [Tue, 5 May 2020 13:42:25 +0000 (13:42 +0000)]
Merge branch 'wip/jimmac/notebook-tab-focus' into 'master'
Adwaita: notebook tab focus ring
See merge request GNOME/gtk!1830
Matthias Clasen [Tue, 5 May 2020 12:55:50 +0000 (12:55 +0000)]
Merge branch 'bin-removal' into 'master'
Bin removal
See merge request GNOME/gtk!1820
Jakub Steiner [Tue, 5 May 2020 11:57:33 +0000 (13:57 +0200)]
Adwaita: notebook tab focus ring
- prelight the tab, not a label (visually)
Jakub Steiner [Tue, 5 May 2020 09:53:05 +0000 (09:53 +0000)]
Merge branch 'wip/jimmac/oldstyle-toolbars' into 'master'
Adwaita: old style toolbar buttons
See merge request GNOME/gtk!1829
Jakub Steiner [Tue, 5 May 2020 08:55:14 +0000 (10:55 +0200)]
Adwaita: old style toolbar buttons
- style toolbar buttons
Timm Bäder [Thu, 30 Apr 2020 09:03:14 +0000 (11:03 +0200)]
shortcutcontroller: Check for NULL GtkNative of widget
And just continue in that case.
Timm Bäder [Thu, 30 Apr 2020 08:03:11 +0000 (10:03 +0200)]
label: Be more defensive against non-existant focus_link
Timm Bäder [Thu, 30 Apr 2020 08:03:00 +0000 (10:03 +0200)]
surface: remove double assignment
Timm Bäder [Thu, 30 Apr 2020 07:08:48 +0000 (09:08 +0200)]
shortcutmanager: Speed up default_remove_controller a bit
Only call get_n_items on the model once and remove two unnecessary
casts.
Timm Bäder [Wed, 29 Apr 2020 14:39:22 +0000 (16:39 +0200)]
shortcutcontroller: Use a GArray instead of a linked list
Timm Bäder [Wed, 29 Apr 2020 08:46:53 +0000 (10:46 +0200)]
cssprovider: Pass a GtkArray around when matching
We just use the resulting GPtrArray to set the values on a GtkCssLookup
and it had mostly a size of 1, in extremes a size of 11.
Timm Bäder [Wed, 29 Apr 2020 08:01:53 +0000 (10:01 +0200)]
gtk.supp: Update
Make some rules more general and add some more epoxy/mesa suppressions.
Timm Bäder [Wed, 29 Apr 2020 08:01:25 +0000 (10:01 +0200)]
cssselector: Use a GtkArray to count exact matches
The list here is at most 3 elements long in my tests.
Timm Bäder [Wed, 29 Apr 2020 07:28:17 +0000 (09:28 +0200)]
add GtkArray
Try to use stack space if we can and only fall back to the GPtrArray if
we must.
Timm Bäder [Wed, 29 Apr 2020 06:15:23 +0000 (08:15 +0200)]
main: Save some type checks
We already have the typecheck-less versions of get_realized(),
get_parent() and is_sensitive() in gtkwidgetprivate.h, so use them here.
Timm Bäder [Wed, 29 Apr 2020 06:11:07 +0000 (08:11 +0200)]
eventcontroller: Remove some unnecessary casts
Instead of comparing two GtkWidget*s by casting the two GtkNative*s, we
can as well compare two GtkNative*s. Also if gtk_widget_get_native()
returns NULL, the code previously failed.
Timm Bäder [Wed, 29 Apr 2020 06:07:45 +0000 (08:07 +0200)]
widget: Use an unchecked cast in _get_native()
This is either no chagne because we know for a fact that the returned
value is a GtkNative - after all thats's the type we pass to
gtk_widget_get_ancestor().
Or it is a bug fix since casting NULL to a GtkNative using GTK_NATIVE()
is not going to work, but the API contract of gtk_widget_get_native()
explicitly allows a NULL return value.
Timm Bäder [Tue, 28 Apr 2020 15:54:51 +0000 (17:54 +0200)]
window: Remove unused private function
Timm Bäder [Mon, 27 Apr 2020 09:56:55 +0000 (11:56 +0200)]
scalebutton: Shorten finalize() implementation
Timm Bäder [Mon, 27 Apr 2020 09:55:00 +0000 (11:55 +0200)]
scalebutton: Remove unused click_id member
Timm Bäder [Sun, 26 Apr 2020 17:45:34 +0000 (19:45 +0200)]
widget: Save controllers list in a GPtrArray
Timm Bäder [Sun, 26 Apr 2020 15:34:32 +0000 (17:34 +0200)]
widget: Only do a IS_ROOT type check if the parent is unset
So we do less type checks
Timm Bäder [Sun, 26 Apr 2020 15:32:33 +0000 (17:32 +0200)]
placesview: Remove frame
We don't need a double border here.
Timm Bäder [Sat, 25 Apr 2020 19:08:13 +0000 (21:08 +0200)]
cssselector: Avoid some GList allocations
Timm Bäder [Sat, 25 Apr 2020 18:18:29 +0000 (20:18 +0200)]
icontheme: Save dir_mtimes in a GArray, not a GList
Timm Bäder [Sat, 25 Apr 2020 15:50:11 +0000 (17:50 +0200)]
GdkEvent: Save history in a GArray
Instead of a less efficient GList.
Timm Bäder [Sat, 25 Apr 2020 14:42:30 +0000 (16:42 +0200)]
stylecontext: Remove _list_classes() from public API
Applications can use gtk_widget_get_css_classes these days.
Timm Bäder [Sat, 25 Apr 2020 13:42:24 +0000 (15:42 +0200)]
textchild: Return an array from get_widgets
Yay, one GList less.
Timm Bäder [Mon, 20 Apr 2020 17:44:14 +0000 (19:44 +0200)]
gdkdisplay-wayland: Fix a possibly uninitialized out value
Timm Bäder [Sun, 19 Apr 2020 17:45:07 +0000 (19:45 +0200)]
widget: Use early-out style in gtk_widget_realize()
This is much more common in the current code base and reduces the
indentation level by one.
Timm Bäder [Sat, 18 Apr 2020 16:17:46 +0000 (18:17 +0200)]
shorthandproperty: Use alloca() when parsing properties
Timm Bäder [Sat, 18 Apr 2020 08:55:15 +0000 (10:55 +0200)]
shorthandproperty: Return unset/initial/inherit as-is
We don't even need an array value these days.